#ifndef __DEVICE_H__
#define __DEVICE_H__

#include "../lib/irrlicht/include/irrlicht.h"
#include "../lib/irrlicht/include/IFileSystem.h"
#include "KeyEvent.h"
#include "Macro.h"

using namespace irr;

class Device {
	
public:
	Device(int winWidth, int winHeight, core::stringw windowName);
	~Device();

public:
	scene::ISceneManager* GetScene(){return smgr;}
	video::IVideoDriver* GetDriver(){return driver;}
	gui::IGUIEnvironment* GetGUI(){return guis;}
	IrrlichtDevice* GetInstance(){return deviceMgr;}
	MyEventReceiver receiver;
	gui::IGUIFont* fontBuilt;

private:
	bool LoadData();
	IrrlichtDevice* deviceMgr;
	video::IVideoDriver* driver;
	scene::ISceneManager* smgr;
	gui::IGUIEnvironment* guis;
	io::IFileSystem* dataArchive;
};
#endif